/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package adbus.models;

import java.util.LinkedList;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;

/**
 *
 * @author rafal
 */
/**główna klasa KlientList*/
public class KlientList extends AbstractListModel implements ComboBoxModel{
    LinkedList<Klient> clientList = null;
    Klient empty = new Klient("--wybierz--");
    Object selected = null;
    /**konstruktor klasy KlientList*/
    public KlientList() {
        super();
        clientList = Klient.pobierzWszystkich();
    }
    /**metoda zwracająca rozmiar listy klientów*/
    public int getSize() {
        return clientList.size() + 1;
    }
    /**zwracająca klienta o podanym indeksie*/
    public Object getElementAt(int index) {
        if(index == 0)
            return empty;
        else
            return clientList.get(index-1);
    }
    /**metoda ustawiająca zaznaczony wiersz w tabelce klient*/
    public void setSelectedItem(Object anItem) {
        selected = anItem;
        fireContentsChanged(this, 0, clientList.size()+1);
    }
    /**metoda zwracająca zaznaczony wiersz w tabelce klient*/
    public Object getSelectedItem() {
        if(selected != null)
            return selected;
        else
            return empty;
    }
    /**metoda dodająca klienta do listy klientów*/
    public void add(Klient k) {
        if(clientList == null)
            clientList = new LinkedList<Klient>();
        clientList.add(k);
    }
}
